package com.example.demo.service;

import com.example.demo.dto.ApplicationDTO;
import com.example.demo.entity.Application;
import com.example.demo.request.CreateApplicationRequest;
import java.util.List;

public interface ApplicationService {

    /**
     * 分页查询应用列表
     */
    List<ApplicationDTO> getApplications(int page, int size);

    /**
     * 获取应用总数
     */
    long countApplications();

    /**
     * 根据 ID 查询应用详情
     */
    ApplicationDTO getApplicationById(Integer id);

    /**
     * 创建新应用
     */
    Application createApplication(CreateApplicationRequest request);

    /**
     * 更新应用
     */
    void updateApplication(Integer id, CreateApplicationRequest request);

    /**
     * 删除应用
     */
    void deleteApplication(Integer id);
    
    /**
     * 根据名称搜索应用
     */
    List<ApplicationDTO> searchApplicationsByName(String name);
}